@@@STARTPACK(gcc;Integrated GNU Compilation System) @@@OSR5DIST(http://www.sco.com/skunkware/osr5/devtools/gcc/) @@@UW2DIST(http://www.sco.com/skunkware/uw7/devtools/gcc/) @@@SOURCE(ftp://prep.ai.mit.edu/pub/gnu/)
The GNU C Compiler (gcc) is an advanced optimizing compiler for C, C++ and Objective C. On OpenServer, this version of gcc can generate both COFF and ELF binaries from within a single compiler. Use the -melf flag to turn on ELF mode. By default, the compiler is always in COFF mode. On UnixWare, gcc always generates ELF binaries.
On Skunkware 98, the "Gcc" package is an "Integrated GNU C Compilation System" containing both the "production quality" GNU C Compiler and the experimental EGCS GNU C Compiler from Cygnus. When installing the Gcc package off of Skunkware 98, both of these compilers are installed and co-exist. By default, the FSF gcc will be used. The system wide default can be set in the file /etc/default/gcc by setting the PREFERRED_GCC variable to either /usr/local/lib/front-fsf or /usr/local/lib/front-egcs. An individual developer can over-ride the system wide default by setting and exporting PREFERRED_GCC in her environment.
Skunkware 98 contains gcc version 2.7.2.3 and egcs version 1.0.2. Many of the packages contained in Skunkware 98 were built with the GNU C Compiler.
For the UnixWare compiler (and the OpenServer compiler in ELF mode), there are a few switches which developers may be interested in. All of these switches are covered in the GCC documentation, this is just a brief summary:
On OpenServer release 5.0.4, be careful when invoking gcc as a linker if you use gcc specific flags. Be especially careful with mixing gcc specific flags when using the -s option. This can cause the 5.0.4 linker to core dump. For example, the command line gcc -m486 -fomit-frame-pointer -Wall -s -o foo *.o is bad, whereas the command line gcc -s -o foo *.o is good. The gcc specific flags -fomit-frame-pointer -Wall (used only as an example here) confuse the 5.0.4 linker.
For users of the GDS, as shipped on Skunkware 96, or for users who have downloaded the GDS from the SCO ftp site, life is a little different with this release of GCC.Firstly, the -b elf flag has been replaced with -melf. Secondly, the -K PIC option has been replaced with the -fPIC option. This is to ensure compatibility with all other version of the GNU C Compiler. Thirdly, no assemblers are provided, as described below.
With this release of GCC, no assembler is provided, and the GDS is no longer one large package, but rather a collection of smaller packages. However, installing all of the tools found in this section of Skunkware will be at least the equivalent of the GDS, if not more. For people using SCO OpenServer release 5.0.0 or release 5.0.2 who are not licensed development system users, you will need to install not only the linkers and libraries package, but also the assembler from the development system package. #if 0 For more information on how to do this, click here. #endif If you have the SCO OpenServer Development System package installed, you do not need to do anything extra in order to use gcc.
For people running OpenServer release 5.0.4 or later, the linkers and libraries package already contains the SCO assemblers. For licensed SCO OpenServer Development System users, you can safely install gcc and all of these development system utilities without impacting your existing installed development system at all.
@@@ENDPACK